/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package bpmlab.shift.dao;

import bpmlab.shift.dao.service.CaracterizacaoDAO;
import bpmlab.shift.dao.service.GenericDAO;
import bpmlab.shift.entity.Caracterizacao;
import bpmlab.shift.entity.Processo;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Query;

/**
 *
 * @author Hugo
 */
public class CaracterizacaoDAOJpa implements CaracterizacaoDAO {

    private final GenericDAO<Caracterizacao> dao = DAOFactory.criarGenericDAO(Caracterizacao.class);

    @Override
    public void salvar(Caracterizacao o) throws DAOException {
        dao.salvar(o);
    }

    @Override
    public void excluir(Caracterizacao o) throws DAOException {
        dao.excluir(o);
    }

    @Override
    public Caracterizacao obter(Object id) {
        return dao.obter(id);
    }

    @Override
    public List<Caracterizacao> obterTodos() {
        return dao.obterTodos();
    }
    
    @Override
    public List<Caracterizacao> obterPorProcesso(Processo processo) {
        EntityManager em = JpaUtil.getEntityManager();
        String query = "SELECT c FROM Caracterizacao c WHERE c.processo = :processo";
        Query q = em.createQuery(query)
                .setParameter("processo", processo);
        return q.getResultList();
    }

}
